﻿using Architecture.Domain.TraceabilityManage;
using Architecture.Domian.DTO;

namespace Architecture.Domain.Services.Interface
{
    public interface ICultureService
    {
        Task<int> AddCultures(Culture culture);

        Task<Culture> GetCultureInfo(string? productionLot);

        Task<int> UpdateCultures(Culture culture);

        Task<List<PictureDTO>> GetCulturePicture(string? productionLot);

        Task<List<PictureDTO>> GetCorporationPicture(string? productionLot, int parmId);

        Task<int> BatchCulturePicList(string? productionLot, string? urlImg);

        Task<int> BatchCorporationPicList(string? productionLot, string? urlImg,int cId);

        Task<int> AddCorporation(Corporation corporation);

        Task<Corporation> GetCorporationInfo(string? productionLot, int parmId);

        Task<int> UpdateCorporation(Corporation corporation);

        Task<int> AddImmuneInFormation(ImmuneInFormation immune);

        Task<int> UpdateImmuneInFormation(ImmuneInFormation immune);

        Task<ImmuneInFormation> GetImmuneInFormationInfo(int iId);

        Task<List<ImmuneInFormation>> GetImmuneInFormationList(string? productionLot);

        Task<int> DeleteImmuneInFormation(int iId);
    }
}
